package gl.pk.db;

import com.jfinal.kit.PathKit;
import com.jfinal.plugin.activerecord.generator.Generator;
import com.jfinal.plugin.druid.DruidPlugin;
import gl.pk.config.ConfigFile;

import javax.sql.DataSource;
import java.io.IOException;
import java.util.Properties;

public class DbCodeGen {



    public static void main(String[] args) throws IOException {
        // base model 所使用的包名
        String baseModelPkg = "gl.pk.db.model.base";
// base model 文件保存路径
        String baseModelDir = PathKit.getWebRootPath() + "/../src/gl/pk/db/model/base/";

// model 所使用的包名
        String modelPkg = "gl.pk.db.model";
// model 文件保存路径
        String modelDir = baseModelDir + "/..";
        Generator generator = new Generator(DBUtil.init().getDataSource(), baseModelPkg, baseModelDir, modelPkg, modelDir);
// 在 getter、setter 方法上生成字段备注内容
        generator.setGenerateRemarks(true);


        // 设置是否生成链式 setter 方法
        generator.setGenerateChainSetter(false);

        // 添加不需要生成的表名
        generator.addExcludedTable("test");

        // 设置是否在 Model 中生成 dao 对象
        generator.setGenerateDaoInModel(true);

        // 设置是否生成字典文件
        generator.setGenerateDataDictionary(false);

        // 设置需要被移除的表名前缀用于生成modelName。例如表名 "osc_user"，移除前缀 "osc_"后生成的model名为 "User"而非 OscUser
        generator.setRemovedTableNamePrefixes("t_");
        generator.generate();
    }
}
